package chapter05

/**
  * create by undeRdoG on  2021-05-30  22:12
  * 凡心所向，素履以往，生如逆旅，一苇以航。
  */
object Test13_Lazy {
  def main(args: Array[String]): Unit = {

    def sum(i: Int, i1: Int): Int = {
      println("3. sum调用")
      i + i1
    }

    /**
      * lazy 关键字修饰的值，只要用到时才会被加载计算
      **/
    lazy val result: Int = sum(13, 41)

    println(s"1.函数调用")
    println(s"2.result调用 result = ${result}")


    /*
    1.函数调用
    3. sum调用
    2.result调用 result = 54
    */


    // 若不加 lazy 关键字，则调用顺序为：

    /*
      3. sum调用
      1.函数调用
      2.result调用 result = 54
      */


  }

}
